home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-04 / zbpc_460.zip / DUALDEMO.EXE / MCGADUAL.BAS < prev    next >
BASIC Source File  |  1991-03-22  |  2KB  |  64 lines

  1. ' SHOWTYME
  2. ' by James Ducasse
  3. ' (modified for speed by Andrew Gariepy)
  4. :
  5. ' This is an excellent example of using the high-speed
  6. ' USR 8 and USR 9 Integer SINE and COSINE functions
  7. ' built into all versions of the ZBasic compiler
  8. :
  9. IF CARDTYPE < 16 PRINT "Must have two monitors to do this" : DELAY 5000 : END
  10. CLS : RANDOMIZE : Colormax = 16 : MODE 23 : DEFINT A-Z
  11. :
  12. CR% = 7
  13. V1 = 4
  14. :
  15. DO
  16.   LONG IF Colormax = 1
  17.     C1 = 1 : C2 = 1 : C3 = 1
  18.   XELSE
  19.     C1 = RND(Colormax-1) : C2 = RND(Colormax-1) : C3 = RND(Colormax-1)
  20.   END IF
  21.   LONG IF CARDTYPE > 31
  22.     MODE 20
  23.     X1 = RND(1024) : Y1 = RND(768) : Y2 = RND(768) : X2 = RND(1024)
  24.     X3 = RND(1024) : Y3 = RND(768) : Y4 = RND(768) : X4 = RND(1024)
  25.     PLOT X1,Y1 TO X2,Y2 TO X3,Y3 TO X4,Y4 TO X1,Y1
  26.   XELSE
  27.     MODE 2 : PRINT @(0,0) "Color =" C1,C2,C3
  28.   END IF
  29.   MODE 23 : COLOR C1,C2,C3
  30.   FOR R = 0 TO 256
  31.     A% = USR 9 (Q * R) / 4
  32.     X1 = (USR 9 (R) * A%) / 50 + 512
  33.     Y1 = (USR 8 (R) * A%) / 50 + 384
  34.     B = R + E
  35.     B2% = USR 9 (V1 * B) / 4
  36.     X2 = (USR 9 (B) * B2%) / 50 + 512
  37.     Y2 = (USR 8 (B) * B2%) / 50 + 384
  38.     PLOT X1, Y1 TO X2, Y2
  39.     I$ = INKEY$
  40.     IF LEN(I$) THEN "END"
  41.   NEXT R
  42.   Q = RND(12)
  43.   IF Q = 7 THEN Q = 0
  44.   IF Q = 1 AND V1 = 0 THEN V1 = RND(12)
  45.   E = RND(200)
  46.   V1 = RND(12)
  47.   IF V1 = 7 THEN V1 = 0
  48.   IF V1 > 6 THEN V1 = V1 - 12
  49.   IF Q < 1 AND V1 = 1 THEN V1 = RND(50)
  50.   IF Q = 1 AND V1 = 1 THEN V1 = RND(100)
  51.   CR% = RND(17)
  52.   IF CR% = 2 THEN CR% = 4
  53.   IF CR% = 3 THEN CR% = 6
  54.   IF CR% > 6 AND C4% < 10 THEN CR% = CR% + 4
  55.   CR1% = CR% + 1
  56.   DELAY 2000
  57.   CLS
  58. UNTIL LOOP ' LOOP = 0 so this is a never-ending loop
  59. :
  60. "END"
  61. MODE 2
  62. CLS
  63. END
  64.